The use of colors in computers to convey information, and otherwise present a pleasing user interface, is becoming more and more prevalent. Many application programs, as well as operating system software, are making increasing use of the color facilities available with computers for these purposes. Up until now, the techniques that have been employed to present color information to the user have been either specific to the application being run on the computer or hard coded into the computer's operating system. As a result, the user was required to understand how the software developer and/or computer engineer treated color, in order to fully appreciate the operation of the computer and the applications being run thereon.
For example, many programs are written to operate in a color space which employs red, green and blue (RGB) as the constituent colors, since most color monitors are based upon such a color space. To adjust colors in computers, a utility known as a color picker is often employed. The color picker might include a user interface which comprises three slider bars respectively associated with the three constituent colors. Colors are selected by adjusting the positions of the slider bars to vary the amount of each of the constituent colors in a selected color. When adjusting the colors, the user must understand how the constituent colors interact with one another to produce a particular effect. For instance, the user must know whether the colors are additive or subtractive in order to determine whether to increase or decrease the various constituent colors to achieve a desired result.
In many cases, the user does not always desire to operate in the color environment for which the computer and/or application program was designed. A fine artist, for example, primarily works with paint pigment colorants, which are upon the primary colors red, yellow and blue. Typically, the fine artist thinks about colors in terms of mixtures of pigments. Similarly, a graphic artist is most comfortable working with a color space based upon the colors cyan, magenta, yellow and black (CMYK) or with spot colors such as Pantones. Prepress operators and pressmen typically work with CMYK inks, and must take into account the interaction of ink, paper and press equipment when designing color graphics. Advertising artists, on the other hand, are most knowledgeable about watercolors or the like.
With conventional computers and application programs, each of these different types of users is forced into working in an unfamiliar color space, i.e. RGB. This is due to the fact that color spaces used for application programs are typically based on computational efficiency, rather than user preferences. It is desirable to avoid placing unnecessary constraints on the user, by providing a color experience that can be readily customized to fit a particular color industry.
In some types of computer systems, the user may be provided with an option that enables different types of color pickers to be selected. Thus, for example, when designing colors for a color palette, the user might be able to choose a color picker that operates in a CMYK color space, rather than RGB. Typically, however, this capability is only provided within the context of a specific application. If the user is working with more than one application at a time, he may be required to switch between different color paradigms as he goes from one application to the other.
Accordingly, it is desirable to provide the user with the ability to select a single color paradigm at the operating system level that pervades the entire operation of the computer, thereby permitting the user to work within a consistent paradigm that is most suited to that user's experiences and environment.